From ba84fbba347b8dc0415f3fee8bfac7f8df6f7af1 Mon Sep 17 00:00:00 2001 From: robertl Date: Thu, 19 Sep 2002 18:28:17 +0000 Subject: [PATCH] Add tiger reads & testsuite. --- gpsbabel/testo | 8 ++++++++ gpsbabel/tiger.c | 30 +++++++++--------------------- 2 files changed, 17 insertions(+), 21 deletions(-) diff --git a/gpsbabel/testo b/gpsbabel/testo index 90777e20b..58ced8c71 100755 --- a/gpsbabel/testo +++ b/gpsbabel/testo @@ -42,6 +42,14 @@ rm -f ${TMPDIR}/mm.mapsource ${TMPDIR}/ms.gps # Magellan serial # TODO +# Tiger +# This one is a little tacky, becuase it's a very lossy format. +# so we simply test we can write it, and then read it and write it and +# get an identical file back. +rm -f ${TMPDIR}/tiger +${PNAME} -i geo -f geocaching.loc -o tiger -F ${TMPDIR}/tiger +${PNAME} -i tiger -f ${TMPDIR}/tiger -o tiger -F ${TMPDIR}/tiger2 +diff ${TMPDIR}/tiger ${TMPDIR}/tiger2 # CSV (Comma separated value) data. diff --git a/gpsbabel/tiger.c b/gpsbabel/tiger.c index 4100a5290..faf5efb0d 100644 --- a/gpsbabel/tiger.c +++ b/gpsbabel/tiger.c @@ -60,34 +60,22 @@ wr_deinit(void) static void data_read(void) { -abort(); -#if 0 - char name[9], desc[30]; double lat,lon; - char latdir, londir; - long alt; - char alttype; - char icon[3] = {0}; + char desc[100]; + char icon[100]; waypoint *wpt_tmp; - while( fscanf(file_in, "%s %le%c %le%c %ld%c %30[^,] %c", - name, &lat, &latdir, &lon, &londir, - &alt, &alttype, desc, icon) > 0) { - wpt_tmp = xcalloc(sizeof(*wpt_tmp),1); - wpt_tmp->position.altitude.altitude_meters = alt; - wpt_tmp->shortname = xstrdup(name); - wpt_tmp->description = xstrdup(desc); - wpt_tmp->creation_time = time(NULL); + while( fscanf(file_in, "%lf,%lf:%100[^:]:%100[^\n]", + &lon, &lat, icon, desc) > 0) { + wpt_tmp = xcalloc(sizeof (*wpt_tmp), 1); - if (latdir == 'S') lat = -lat; - if (londir == 'W') lon = -lon; - wpt_tmp->position.longitude.degrees = lon/100.0; - wpt_tmp->position.latitude.degrees = lat/100.0; - wpt_tmp->icon_descr = xstrdup(icon); + wpt_tmp->position.longitude.degrees = lon; + wpt_tmp->position.latitude.degrees = lat; + wpt_tmp->description = xstrdup(desc); + wpt_tmp->shortname = mkshort(desc); waypt_add(wpt_tmp); } -#endif } static void -- 2.30.2